home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / ingres04.lzh / source / equel / constants.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-18  |  2.6 KB  |  120 lines

  1. /*
  2. **  CONSTANTS.H -- manifest constants, operand and operator codes
  3. **
  4. **    Defines:
  5. **        op_codes for operands
  6. **        Opflag's domain set
  7. **        Type_spec's domain set
  8. **
  9. **    Version:
  10. **        @(#)constants.h    8.2    1/16/85
  11. */
  12.  
  13. /*
  14. **     Manifest constants used throughout Equel
  15. */
  16.  
  17.  
  18. # define    CONTINUE    1    /* "loop" flag for yylex */
  19. # define    MAXNAME        13    /* maximum length for equel 
  20.                      * identifiers (or keywords) 
  21.                      */
  22. # define    MAXSTRING    255    /* maximum length for equel strings */
  23. # define    FILLCNT        110    /* length to fill lines when in Fillmode */
  24.  
  25. # define    I1MASK        0377    /* Bit mask for a character */
  26.  
  27.  
  28. /* debugging info conditional compilation flag */
  29. # define    xDEBUG            /* on for "-c" and "-v" flags */
  30. # define    YYDEBUG        1    /* must ALWAYS be on-used in yyparse()*/
  31.  
  32.  
  33. /* 
  34. **    Character types [cmap.c] 
  35. */
  36.  
  37. # define    EOF_TOK        0    /* end of parse input too */
  38. # define    ALPHA        1    /* alphabetic or '_' */
  39. # define    NUMBR        2    /* numeric */
  40. # define    OPATR        3    /* other non control characters */
  41. # define    PUNCT        4    /* white space */
  42. # define    CNTRL        5    /* control-characters */
  43.  
  44. /*
  45. **    Modes for Lastc in w_op() and w_key() [prtout.c] 
  46. */
  47.  
  48. # define    OPCHAR        0    /* last character 
  49.                      * printed was an operator 
  50.                      */
  51. # define    KEYCHAR        1    /* last was alphanumeric */
  52.  
  53.  
  54. /*
  55.  * Modes used in parser actions to distinguish contexts in which
  56.  * the same syntax applies. Opflag is set to these modes.
  57.  *
  58.  * (There are some modes that are never referenced, but are useful
  59.  * for extension).
  60.  */
  61.  
  62.     /* quel statements */
  63.  
  64. # define    mdAPPEND    1    
  65. # define    mdCOPY        2
  66. # define    mdCREATE    3
  67. # define    mdDEFINE    4
  68. # define    mdDELETE    5
  69. # define    mdDESTROY    6
  70. # define    mdHELP        7
  71. # define    mdINDEX        8
  72. # define    mdINTEGRITY    9
  73. # define    mdMODIFY    10
  74. # define    mdPRINT        11
  75. # define    mdRANGE        12
  76. # define    mdREPLACE    13
  77. # define    mdRETRIEVE    14
  78. # define    mdSAVE        15
  79. # define    mdVIEW        22
  80. # define    mdPROT        23
  81.     
  82.     /* statements particular to Equel */
  83.  
  84. # define    mdDECL        16    /* C - declaration */
  85. # define    mdCTLELM    17    /* left hand side of target list element
  86.                      * in "retrieve" to C-variables
  87.                      */
  88. # define    mdEXIT        18    /* ## exit */
  89. # define    mdINGRES    19    /* ## ingres */
  90. # define    mdTUPRET    20    /* "retrieve" w/o an "into" */
  91. # define    mdFILENAME    21    /* used in "copy" statement */
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99. /* define    typTYPE        xx        /*   c types "Type_spec"  */
  100. # define            opSHORT        1
  101. # define            opFLOAT        2
  102. # define            opSTRING    3
  103. # define            opDOUBLE    4
  104. # define            opCHAR        5
  105. # define            opLONG        6
  106. # define            opIDSTRING    7
  107. # define            opSTRUCT    8
  108. # ifdef PDP
  109. # define            opINT        opSHORT
  110. # else PDP
  111. # define            opINT        opLONG
  112. # endif PDP
  113.  
  114.  
  115. /* define    typALLOC    xx        /*  c var allocation types  */
  116. # define            opAUTO        0
  117. # define            opSTATIC    1
  118. # define            opEXTERN    2
  119. # define            opREGISTER    3
  120.